package com.cictec.middleware.core.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Table(name = "t_device")
public class Device implements Serializable {
	
	/**
	 * 城市编码
	 */
	@Transient
	private String cityCode;

	public String getCityCode() {
		return cityCode;
	}
	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}

	@Id
	@Column(name = "dev_uuid")
	private String devUuid;

	@Column(name = "dev_code")
	private String devCode;

	@Column(name = "dev_model_num")
	private String devModelNum;

	@Column(name = "dev_version")
	private String devVersion;

	@Column(name = "dev_plate_number")
	private String devPlateNumber;

	@Column(name = "dev_sim_num")
	private String devSimNum;

	/**
	 * 设备在线状态 0：断开 1：在线
	 */
	@Column(name = "dev_online_status")
	private String devOnlineStatus;

	/**
	 * 设备状态 1：正常 0：维修
	 * 
	 */
	@Column(name = "dev_status")
	private String devStatus;

	/**
	 * 1 启用 0 禁用
	 */
	@Column(name = "dev_isvalid")
	private String devIsvalid;

	@Column(name = "dev_phone")
	private String devPhone;

	@Column(name = "dev_ref_id")
	private String devRefId;

	@Column(name = "dev_status_change_time")
	private Date devStatusChangeTime;

	@Column(name = "dev_create_user")
	private String devCreateUser;

	@Column(name = "dev_create_time")
	private Date devCreateTime;

	@Column(name = "dev_update_user")
	private String devUpdateUser;

	@Column(name = "dev_update_time")
	private Date devUpdateTime;

	/**
	 * 删除标示 0：未删除 1 删除
	 */
	@Column(name = "dev_drop_flag")
	private String devDropFlag;

	@Column(name = "dev_remark")
	private String devRemark;

	/**
	 * 设备编号序列
	 */
//	@Column(name = "dev_code_seq")
//	private Short devCodeSeq;

	/**
	 * 来自同步库 1 来自别的库 0 正常录入数据
	 */
	@Column(name = "dev_flag")
	private Short devFlag;

	/** 厂商编号，参数表里维护，针对808协议数据解析时候用 */
	@Transient
//	@Column(name = "dev_manufacturer")
	private String devManufacturer;
	
	/** 厂商编号，参数表里维护，针对808协议数据解析时候用 */
	public String getDevManufacturer() {
		return devManufacturer;
	}
	/** 厂商编号，参数表里维护，针对808协议数据解析时候用 */
	public void setDevManufacturer(String devManufacturer) {
		this.devManufacturer = devManufacturer;
	}

	private static final long serialVersionUID = 1L;

	/**
	 * @return dev_uuid
	 */
	public String getDevUuid() {
		return devUuid;
	}

	/**
	 * @param devUuid
	 */
	public void setDevUuid(String devUuid) {
		this.devUuid = devUuid == null ? null : devUuid.trim();
	}

	/**
	 * @return dev_code
	 */
	public String getDevCode() {
		return devCode;
	}

	/**
	 * @param devCode
	 */
	public void setDevCode(String devCode) {
		this.devCode = devCode == null ? null : devCode.trim();
	}

	/**
	 * @return dev_model_num
	 */
	public String getDevModelNum() {
		return devModelNum;
	}

	/**
	 * @param devModelNum
	 */
	public void setDevModelNum(String devModelNum) {
		this.devModelNum = devModelNum == null ? null : devModelNum.trim();
	}

	/**
	 * @return dev_version
	 */
	public String getDevVersion() {
		return devVersion;
	}

	/**
	 * @param devVersion
	 */
	public void setDevVersion(String devVersion) {
		this.devVersion = devVersion == null ? null : devVersion.trim();
	}

	/**
	 * @return dev_plate_number
	 */
	public String getDevPlateNumber() {
		return devPlateNumber;
	}

	/**
	 * @param devPlateNumber
	 */
	public void setDevPlateNumber(String devPlateNumber) {
		this.devPlateNumber = devPlateNumber == null ? null : devPlateNumber.trim();
	}

	/**
	 * @return dev_sim_num
	 */
	public String getDevSimNum() {
		return devSimNum;
	}

	/**
	 * @param devSimNum
	 */
	public void setDevSimNum(String devSimNum) {
		this.devSimNum = devSimNum == null ? null : devSimNum.trim();
	}

	/**
	 * 获取设备在线状态 0：断开 1：在线
	 *
	 * @return dev_online_status - 设备在线状态 0：断开 1：在线
	 */
	public String getDevOnlineStatus() {
		return devOnlineStatus;
	}

	/**
	 * 设置设备在线状态 0：断开 1：在线
	 *
	 * @param devOnlineStatus
	 *            设备在线状态 0：断开 1：在线
	 */
	public void setDevOnlineStatus(String devOnlineStatus) {
		this.devOnlineStatus = devOnlineStatus == null ? null : devOnlineStatus.trim();
	}

	/**
	 * 获取设备状态 1：正常 0：维修
	 *
	 * 
	 * @return dev_status - 设备状态 1：正常 0：维修
	 * 
	 */
	public String getDevStatus() {
		return devStatus;
	}

	/**
	 * 设置设备状态 1：正常 0：维修
	 *
	 * 
	 * @param devStatus
	 *            设备状态 1：正常 0：维修
	 * 
	 */
	public void setDevStatus(String devStatus) {
		this.devStatus = devStatus == null ? null : devStatus.trim();
	}

	/**
	 * 获取1 启用 0 禁用
	 *
	 * @return dev_isvalid - 1 启用 0 禁用
	 */
	public String getDevIsvalid() {
		return devIsvalid;
	}

	/**
	 * 设置1 启用 0 禁用
	 *
	 * @param devIsvalid
	 *            1 启用 0 禁用
	 */
	public void setDevIsvalid(String devIsvalid) {
		this.devIsvalid = devIsvalid == null ? null : devIsvalid.trim();
	}

	/**
	 * @return dev_phone
	 */
	public String getDevPhone() {
		return devPhone;
	}

	/**
	 * @param devPhone
	 */
	public void setDevPhone(String devPhone) {
		this.devPhone = devPhone == null ? null : devPhone.trim();
	}

	/**
	 * @return dev_ref_id
	 */
	public String getDevRefId() {
		return devRefId;
	}

	/**
	 * @param devRefId
	 */
	public void setDevRefId(String devRefId) {
		this.devRefId = devRefId == null ? null : devRefId.trim();
	}

	/**
	 * @return dev_status_change_time
	 */
	public Date getDevStatusChangeTime() {
		return devStatusChangeTime;
	}

	/**
	 * @param devStatusChangeTime
	 */
	public void setDevStatusChangeTime(Date devStatusChangeTime) {
		this.devStatusChangeTime = devStatusChangeTime;
	}

	/**
	 * @return dev_create_user
	 */
	public String getDevCreateUser() {
		return devCreateUser;
	}

	/**
	 * @param devCreateUser
	 */
	public void setDevCreateUser(String devCreateUser) {
		this.devCreateUser = devCreateUser == null ? null : devCreateUser.trim();
	}

	/**
	 * @return dev_create_time
	 */
	public Date getDevCreateTime() {
		return devCreateTime;
	}

	/**
	 * @param devCreateTime
	 */
	public void setDevCreateTime(Date devCreateTime) {
		this.devCreateTime = devCreateTime;
	}

	/**
	 * @return dev_update_user
	 */
	public String getDevUpdateUser() {
		return devUpdateUser;
	}

	/**
	 * @param devUpdateUser
	 */
	public void setDevUpdateUser(String devUpdateUser) {
		this.devUpdateUser = devUpdateUser == null ? null : devUpdateUser.trim();
	}

	/**
	 * @return dev_update_time
	 */
	public Date getDevUpdateTime() {
		return devUpdateTime;
	}

	/**
	 * @param devUpdateTime
	 */
	public void setDevUpdateTime(Date devUpdateTime) {
		this.devUpdateTime = devUpdateTime;
	}

	/**
	 * 获取删除标示 0：未删除 1 删除
	 *
	 * @return dev_drop_flag - 删除标示 0：未删除 1 删除
	 */
	public String getDevDropFlag() {
		return devDropFlag;
	}

	/**
	 * 设置删除标示 0：未删除 1 删除
	 *
	 * @param devDropFlag
	 *            删除标示 0：未删除 1 删除
	 */
	public void setDevDropFlag(String devDropFlag) {
		this.devDropFlag = devDropFlag == null ? null : devDropFlag.trim();
	}

	/**
	 * @return dev_remark
	 */
	public String getDevRemark() {
		return devRemark;
	}

	/**
	 * @param devRemark
	 */
	public void setDevRemark(String devRemark) {
		this.devRemark = devRemark == null ? null : devRemark.trim();
	}

	/**
	 * 获取设备编号序列
	 *
	 * @return dev_code_seq - 设备编号序列
	 */
//	public Short getDevCodeSeq() {
//		return devCodeSeq;
//	}

	/**
	 * 设置设备编号序列
	 *
	 * @param devCodeSeq
	 *            设备编号序列
	 */
//	public void setDevCodeSeq(Short devCodeSeq) {
//		this.devCodeSeq = devCodeSeq;
//	}

	/**
	 * 获取来自同步库 1 来自别的库 0 正常录入数据
	 *
	 * @return dev_flag - 来自同步库 1 来自别的库 0 正常录入数据
	 */
	public Short getDevFlag() {
		return devFlag;
	}

	/**
	 * 设置来自同步库 1 来自别的库 0 正常录入数据
	 *
	 * @param devFlag
	 *            来自同步库 1 来自别的库 0 正常录入数据
	 */
	public void setDevFlag(Short devFlag) {
		this.devFlag = devFlag;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", devUuid=").append(devUuid);
		sb.append(", devCode=").append(devCode);
		sb.append(", devModelNum=").append(devModelNum);
		sb.append(", devVersion=").append(devVersion);
		sb.append(", devPlateNumber=").append(devPlateNumber);
		sb.append(", devSimNum=").append(devSimNum);
		sb.append(", devOnlineStatus=").append(devOnlineStatus);
		sb.append(", devStatus=").append(devStatus);
		sb.append(", devIsvalid=").append(devIsvalid);
		sb.append(", devPhone=").append(devPhone);
		sb.append(", devRefId=").append(devRefId);
		sb.append(", devStatusChangeTime=").append(devStatusChangeTime);
		sb.append(", devCreateUser=").append(devCreateUser);
		sb.append(", devCreateTime=").append(devCreateTime);
		sb.append(", devUpdateUser=").append(devUpdateUser);
		sb.append(", devUpdateTime=").append(devUpdateTime);
		sb.append(", devDropFlag=").append(devDropFlag);
		sb.append(", devRemark=").append(devRemark);
//		sb.append(", devCodeSeq=").append(devCodeSeq);
		sb.append(", devFlag=").append(devFlag);
		sb.append("]");
		return sb.toString();
	}
}